home *** CD-ROM | disk | FTP | other *** search
/ LOGIC Apps / Logic-APPLE_II_APPS.iso / mac / LOGIC Apple II 5.25" Library - ProDOS / PRO009.dsk / MISC / STARTUP.MENU.bas < prev   
BASIC Source File  |  2012-02-16  |  5KB  |  104 lines

  1. 100  REM   -------------------------------
  2. 110  REM   STARTUP MENU
  3. 120  REM   -------------------------------
  4. 130  REM    
  5. 140  REM    HAVING THOSE "I DON'T REMEMBER" BLAHS AFTER CATALOGING?
  6. 150  REM   TRY THIS PROGRAM AS AN AUTO STARTUP. IT DOES IT ALL.   
  7. 160  REM   PROVIDES A 'CATALOG' MENU THAT ALLOWS YOU TO SELECT & RUN.
  8. 170  REM   
  9. 180  REM    FOR YOUR APPLE 2C WITH PRODOS & 80 COLUMNS.
  10. 190  REM   IF YOU'RE NOT USING AN APPLE 2C YOU WILL HAVE TO REASSIGN THE
  11. 200  REM   KEYBOARD CODES. ESC=27 RETURN=13 CNTL(F)=6 CNTL(B)=2
  12. 210  REM   ARROW(UP)=11 ARROW(DOWN)=10 TO YOUR EQUIVALENT.
  13. 220  REM   
  14. 230  REM    IF NOT DISPLAYING IN 80 COLUMNS YOU WILL HAVE TO CHANGE
  15. 240  REM   EVERY POKE 1403,XX TO HTAB XX  E.G. POKE 1403,1 TO HTAB 1
  16. 250  REM   DISABLE PRINT CHR$(4);"PR#3" USED TO SWITCH TO 80 COLS.    
  17. 260  REM   
  18. 270  REM    IF YOU'RE GOING TO USE THIS PROGRAM AS AN AUTO STARTUP,
  19. 280  REM   SAVE THE BASIC PROGRAM & RENAME AS  STARTUP .  
  20. 290  REM   MAKE SURE ITS ON A PRODOS DISKETTE WITH PRODOS AND BASIC.SYSTEM
  21. 291  REM     This is a revised version of this Excellent Program by
  22. 292  REM     PW+Software.  The only changes to it allow for continued
  23. 293  REM     use in Subdirectories as well as main Volume Directories
  24. 294  REM     of 6 lines recycles the program to function on the sub-
  25. 295  REM     directories.  I also added the Control-O command to bring
  26. 296  REM     the prefix back to the Volume Prefix.  This will also come
  27. 297  REM     in handy when swapping disks while the program is running
  28. 300  REM       10/85  PW+SOFTWARE     76324,2336
  29. 310  REM    Revised 10/20/85  Mark T. Collins  76324,564
  30. 320  REM   
  31. 330  REM   THE KEYBOARD FUNCTIONS ARE:
  32. 340  REM   CONTROL F       PAGE FORWARD
  33. 350  REM   CONTROL B       PAGE BACK
  34. 355  REM   CONTROL O       ORIGINAL VOLUME
  35. 360  REM   ESC             END JOB
  36. 370  REM   UP ARROW        NEXT ITEM       
  37. 380  REM   DOWN ARROW      PREVIOUS ITEM   
  38. 390  REM   RETURN          TO SELECT       
  39. 400  DIM L$(200)
  40. 410  HOME : PRINT  CHR$(4);"PREFIX/"
  41. 420  PRINT  CHR$(4);"PR#3"
  42. 430  REM   -------------------------------
  43. 440  REM   CATALOG DISKETTE
  44. 450  REM   -------------------------------
  45. 460 X = 1
  46. 465  FOR Q = 1 TO 30:L$(Q) = " ": NEXT Q
  47. 470  PRINT  CHR$(4);"PREFIX": INPUT DISK$
  48. 480  HOME : VTAB 1: POKE 1403,5: INVERSE : PRINT " STARTUP MENU ": NORMAL 
  49. 490  VTAB 2: POKE 1403,5: PRINT "PREFIX-  ";DISK$
  50. 500  PRINT  CHR$(4);"OPEN ";DISK$;",TDIR"
  51. 510  PRINT  CHR$(4);"READ ";DISK$
  52. 520  INPUT S$:X = X +1: IF X <5  THEN 520
  53. 530  IF S$ < >""  THEN L$(X -4) = S$: GOTO 520
  54. 540  PRINT  CHR$(4);"CLOSE ";DISK$
  55. 550  REM   -------------------------------
  56. 560  REM   DISPLAY CATALOG             
  57. 570  REM   -------------------------------
  58. 580 CNT = X -5
  59. 590 A = 0
  60. 600  IF A <1  OR A >CNT  THEN A = 0
  61. 610 R = 5:A = A +1:B = A +14
  62. 620  HOME : VTAB 1: POKE 1403,5: INVERSE : PRINT " STARTUP MENU ": NORMAL 
  63. 630  VTAB 2: POKE 1403,5: PRINT "PREFIX   ";DISK$
  64. 640  VTAB 3: POKE 1403,5: PRINT "FILES    ";CNT
  65. 650  FOR X = A TO B
  66. 660  VTAB R: POKE 1403,1: PRINT X;" "; MID$ (L$(X),2,15)
  67. 670  VTAB R: POKE 1403,20: PRINT X +15;" "; MID$ (L$(X +15),2,15)
  68. 680 R = R +1
  69. 690  NEXT X
  70. 700  VTAB 20: POKE 1403,1: PRINT "CNT-F PAGE FORWARD   CNTL-B PAGE BACK"
  71. 705  VTAB 21: POKE 1403,1: PRINT "CNT-O RETURN TO MAIN DIRECTORY"
  72. 710  VTAB 22: POKE 1403,1: PRINT "ARROW KEYS FOR NEXT/PREVIOUS ITEM"
  73. 720  VTAB 23: POKE 1403,1: PRINT "RETURN TO SELECT   ESC TO EXIT"
  74. 730  REM   -------------------------------
  75. 740  REM   CHECK LIMITS   
  76. 750  REM   -------------------------------
  77. 760 X = A:R = 5:C = 1
  78. 770  IF R <5  AND C = 1  THEN X = A +29:R = 19:C = 20: GOTO 840
  79. 780  IF R >19  AND C = 1  THEN R = 5:C = 20: GOTO 840
  80. 790  IF R <5  AND C = 20  THEN R = 19:C = 1: GOTO 840
  81. 800  IF R >19  AND C = 20  THEN X = A:R = 5:C = 1
  82. 810  REM   -------------------------------
  83. 820  REM   KEYBOARD  INPUT 
  84. 830  REM   -------------------------------
  85. 840  VTAB R: POKE 1403,C
  86. 850  GET A$
  87. 860  REM   -------------------------------
  88. 870  REM   PROCESS INPUT
  89. 880  REM   -------------------------------
  90. 890  IF L$(X) = ""  THEN 910
  91. 900  IF  ASC(A$) = 13  THEN F$ =  MID$ (L$(X),2,15): INVERSE : PRINT X;" ";F$: NORMAL 
  92. 901  IF  ASC(A$) < >13  THEN 910
  93. 902 M$ =  MID$ (L$(X),18,3)
  94. 903  IF M$ < >"DIR"  THEN 906
  95. 904  PRINT  CHR$(4);"PREFIX";F$
  96. 905  HOME : GOTO 460
  97. 906  HOME : PRINT  CHR$(4);"-";F$
  98. 910  IF  ASC(A$) = 11  THEN X = X -1:R = R -1
  99. 915  IF  ASC(A$) = 15  THEN 410
  100. 920  IF  ASC(A$) = 10  THEN X = X +1:R = R +1
  101. 930  IF  ASC(A$) = 06  THEN A = A +29: GOTO 600
  102. 940  IF  ASC(A$) = 02  THEN A = A -31:: GOTO 600
  103. 950  IF  ASC(A$) = 27  THEN  HOME : END 
  104. 960  GOTO 770